﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//importamos
using System.Data.Entity.ModelConfiguration;
using CredisysTriunfadores.BusinessEntites.Recursos;
using System.ComponentModel.DataAnnotations.Schema;

namespace CredisysTriunfadores.Repository.Mapping
{
    public class AvaladoMap:EntityTypeConfiguration<Avalado>
    {
        public AvaladoMap()
        {
            //clave primaria y que sea autoincrementable
            this.HasKey(av => av.Id);
            this.Property(av => av.Id)
                .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);

            //propiedades
            this.Property(av => av.Apellidos)
                .HasColumnType("varchar")
                .HasMaxLength(50)
                .IsRequired();
            this.Property(av => av.CentroTrabajo)
                .HasColumnType("varchar")
                .HasMaxLength(50)
                .IsRequired();
            this.Property(av => av.Direccion)
                .HasColumnType("varchar")
                .HasMaxLength(50)
                .IsRequired();
            this.Property(av => av.Dni)
                .HasColumnType("char")
                .HasMaxLength(8)
                .IsRequired();
            this.Property(av => av.Email)
                .HasColumnType("varchar")
                .HasMaxLength(50)
                .IsOptional();
            this.Property(av => av.FechNacimiento)
                .HasColumnType("datetime2")
                .IsRequired();
            this.Property(av => av.LugarNacimiento)
                .HasColumnType("varchar")
                .HasMaxLength(50)
                .IsRequired();
            this.Property(av => av.Nombres)
                .HasColumnType("varchar")
                .HasMaxLength(50)
                .IsRequired();
            this.Property(av => av.Ocupacion)
                .HasColumnType("varchar")
                .HasMaxLength(50)
                .IsRequired();
            this.Property(av => av.Telefono)
                .HasColumnType("varchar")
                .HasMaxLength(11)
                .IsRequired();
        }
    }
}
